Encoding standards often use recursion to compress data. In recursion, data is encoded as a mathematical function of other previous data. As a result, when decoding the data, the previous data is needed.
An encoded picture is often assembled in portions. Each portion is associated with a particular region of the picture. The portions are often decoded in a particular order. For decoding some of the portions, data from previously decoded portions is needed.
A video decoder typically includes integrated circuits for performing computationally intense operations, and memory. The memory includes both on-chip memory and off-chip memory. On-chip memory is memory that is located on the integrated circuit and can be quickly accessed. Off-chip memory is usually significantly slower to access than on-chip memory.
During decoding, storing information from portions that will be used for decoding later portions in on-chip memory is significantly faster than storing the information off-chip. However, on-chip memory is expensive, and consumes physical area of the integrated circuit. Therefore, the amount of data that on-chip memory can store is limited. In contrast, decoded video data generates very large amounts of data. Therefore, it may be impractical to store all of the decoded data on-chip.
The data needed for decoding a portion is typically contained in the neighboring portions that are decoded prior to the portion, such as the left neighbor. For example, in the H.264 standard, pixels in one portion of a picture can be predicted from pixels in another portion of the picture. The edge pixels of a portion are predicted from their top, left, and top left neighboring pixels, which are from another portion.
Additionally, the top, left, and top left pixels may not be determinable until the decoding of the portion. For example, in H.264, macroblock pairs of interlaced frames may be encoded using macroblock adaptive field/frame coding. Where macroblock adaptive field/frame coding is used, the information needed from each neighboring portion depends on whether the portion and the neighboring portion are field or frame coded.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of ordinary skill in the art through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.